package pe.com.tma.model;

import java.io.Serializable;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@NamedQueries({
  @NamedQuery(name = "Banco.findAll", query = "select o from Banco o")
})
@Table(name = "\"banco\"")
public class Banco implements Serializable {
    @Column(name="abreviatura")
    private String abreviatura;
    @Column(name="estado")
    private String estado;
    @Id
    @Column(name="idBanco", nullable = false)
    private Integer idBanco;
    @Column(name="nombre")
    private String nombre;
    @OneToMany(mappedBy = "banco")
    private List<Cuentasab> cuentasabList;

    public Banco() {
    }

    public Banco(String abreviatura, String estado, Integer idBanco,
                 String nombre) {
        this.abreviatura = abreviatura;
        this.estado = estado;
        this.idBanco = idBanco;
        this.nombre = nombre;
    }

    public String getAbreviatura() {
        return abreviatura;
    }

    public void setAbreviatura(String abreviatura) {
        this.abreviatura = abreviatura;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public Integer getIdBanco() {
        return idBanco;
    }

    public void setIdBanco(Integer idBanco) {
        this.idBanco = idBanco;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public List<Cuentasab> getCuentasabList() {
        return cuentasabList;
    }

    public void setCuentasabList(List<Cuentasab> cuentasabList) {
        this.cuentasabList = cuentasabList;
    }

    public Cuentasab addCuentasab(Cuentasab cuentasab) {
        getCuentasabList().add(cuentasab);
        cuentasab.setBanco(this);
        return cuentasab;
    }

    public Cuentasab removeCuentasab(Cuentasab cuentasab) {
        getCuentasabList().remove(cuentasab);
        cuentasab.setBanco(null);
        return cuentasab;
    }
}
